/**
 * 设备记录信息
 */
var pageCurr;
$(function () {
    layui.use('table', function () {
        var table = layui.table
            , form = layui.form;

        tableIns = table.render({
            elem: '#deviceList'
            , url: '/device/getDevices'
            , method: 'post' //默认：get请求
            , cellMinWidth: 100
            , page: true,
            request: {
                pageName: 'page' //页码的参数名称，默认：page
                , limitName: 'limit' //每页数据量的参数名，默认：limit
            }, response: {
                statusName: 'code' //数据状态的字段名称，默认：code
                , statusCode: 200 //成功的状态码，默认：0
                , countName: 'totals' //数据总数的字段名称，默认：count
                , dataName: 'list' //数据列表的字段名称，默认：data
            }
            , cols: [[
                {type: 'numbers'}
                , {field: 'id', title: '设备编号', minWidth: 80}
                , {field: 'deviceType', title: '设备类型', minWidth: 80}
                , {field: 'deviceInfo', title: '设备信息', minWidth: 80}
                , {field: 'insertTime', title: '创建时间'}
                , {field: 'updateTime', title: '修改时间'}
                , {
                    fixed: 'right',
                    title: '操作',
                    width: 200,
                    align: 'center',
                    toolbar: '#optBar1'
                }
            ]]
            , done: function (res, curr, count) {
                //如果是异步请求数据方式，res即为你接口返回的信息。
                //如果是直接赋值的方式，res即为：{data: [], count: 99} data为当前页数据、count为数据总长度
                console.log(res);
                //得到当前页码
                console.log(curr);
                //得到数据总量
                console.log(count);
                var curr = eval('(' + curr + ')');
                pageCurr = curr;
            }
        });
        //监听“操作”
        table.on('tool(deviceTable)', function (obj) {
            var data = obj.data;

            if (obj.event === 'del') {
                delDevice(data, data.id);
            } else if (obj.event === 'edit') {
                //编辑
                getDevice(data, data.id);
            }
        });
        //监听提交
        form.on('submit(devSubmit)', function (data) {
            // TODO 校验
            formSubmit(data);
            return false;
        });

    });
});

//提交表单
function formSubmit(obj) {
    $.ajax({
        type: "POST",
        data: $("#devForm").serialize(),
        url: "/device/setDevice",
        success: function (data) {
            if (data == "ok") {
                layer.alert("操作成功", function () {
                    layer.closeAll();
                    cleanDevice();
                    load(obj);
                    window.location.reload();
                });
            } else {
                layer.alert(data, function () {
                    layer.closeAll();
                    //加载load方法
                    load(obj);//自定义
                });
            }
        },
        error: function () {
            layer.alert("操作请求错误，请您稍后再试", function () {
                layer.closeAll();
                //加载load方法
                load(obj);//自定义
            });
        }
    });
}

//开通用户
function addDevice() {
    openDevice(null, "开通设备");
}

function getDevice(obj, id) {
    console.log(id);
    //回显数据
    $.get("/device/getDevice", {"id": id}, function (data) {
        console.log(data);
        console.log(data.msg);
        if (data.msg == "ok") {
            $("#id").val(data.device.id == null ? '' : data.device.id);
            $("#deviceType").val(data.device.deviceType == null ? '' : data.device.deviceType);
            $("#deviceInfo").val(data.device.deviceInfo == null ? '' : data.device.deviceInfo);
            openDevice(id, "编辑设备");
        } else {
            //弹出错误提示
            layer.alert(data.msg, function () {
                layer.closeAll();
            });
        }
    });
}

function openDevice(id, title) {
    console.log("id=" + id);
    if (id == null || id == "") {
        $("#id").val("");
    }
    layer.open({
        type: 1,
        title: title,
        fixed: false,
        resize: false,
        shadeClose: true,
        area: ['550px'],
        content: $('#setDevice'),
        end: function () {
            cleanDevice();
        }
    });
}

function delDevice(obj, id) {
    if (null != id) {
        layer.confirm('您确定要删除此设备吗', {
            btn: ['确认', '返回'] //按钮
        }, function () {
            $.post("/device/delDevice", {"id": id},
                function (data) {
                    if (data == "ok") {
                        //回调弹框
                        layer.alert("删除成功！", function () {
                            layer.closeAll();
                            //加载load方法
                            load(obj);//自定义
                            window.location.reload();

                        });
                    } else {
                        layer.alert(data, function () {
                            layer.closeAll();
                            //加载load方法
                            load(obj);//自定义
                        });
                    }
                });
        }, function () {
            layer.closeAll();
        });
    }
}

function load(obj) {
    //重新加载table
    tableIns.reload({
        where: obj.field
        , page: {
            curr: pageCurr //从当前页码开始
        }
    });

}

function cleanDevice() {
    $("#id").val("");
    $("#deviceType").val("");
    $("#deviceInfo").val("");
}
